package com.baseLesson._03_io;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

public class _001_Encodeing {

    public static void main(String[] args)  {
        String str = "你看我的头发酷不酷";

        try {
            /*
            编码是信息从一种形式或格式转换为另一种形式的过程也称为计算机编程语言的代码简称编码。
            用预先规定的方法将文字、数字或其它对象编成数码，或将信息、数据转换成规定的电脉冲信号。
            编码在电子计算机、电视、遥控和通讯等方面广泛使用。编码是信息从一种形式或格式转换为另一种形式的过程。
            解码，是编码的逆过程。
             */

            //1.编码
            String byteStr1 = Arrays.toString(str.getBytes("utf-8"));
            System.out.println("utf-8: "+byteStr1);

            String byteStr2 = Arrays.toString(str.getBytes("GBK"));
            System.out.println("GBK: "+byteStr2);

            //2.解码
            byte[] bytes1 = {-28, -67, -96, -25, -100, -117, -26, -120, -111, -25, -102, -124, -27, -92, -76, -27, -113, -111, -23, -123, -73, -28, -72, -115, -23, -123, -73};
            byte[] bytes2 = {-50, -46};

            System.out.println(new String(bytes1,"utf-8"));
            System.out.println(new String(bytes2,"gbk"));

        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }


    }

}
